/*!
	\file	typedef.h
	 File .h to define new variable type.\n
	 To avoid errors, this file is included in ProtocolMngr.

	\author	Sensibilab EMail: info.sensibilab@polimi.it

	\date	2007-09-06 creation \n
		2009-01-27 last modification

	\b COPYRIGHT: 
		This program is property of Sensibilab - Campus Ponit - Lecco
*/
/*!\struct ClassInfo
Struct for classification counting
\param LastClassification Last classification in order of time.
\param CountNumber Number of successive equal classification. Every time that LastClassification is different 
from the current one, the CountNumber is reset and LastClassification in changed.*/
typedef struct ClassInfo
{
	int LastClassification;
	int	CountNumber;
} ClassInfo;

/*!\struct UserPerformances
Struct used to test the BCI performance.*/
typedef struct	UserPerformances
{
	int	BeginTime,EndTime,ElapsedTime;
	int	RightClassifications;
	int VrongClassifications;
} UserPerformances;

/*!\struct operation
This is the struct used to select the operation to execute at the call of setNextOpt function
\param kind Operation type:\n
NOTHING To do nothing;\n  
CHANGE To change the active protocol;\n
LEDON To turn off the LEDs;\n
WAITING To wait n milliseconds;\n
START countdown display on screen for n milliseconds
\param p1 Additional parameter, it is setted default to 0.
\param text[256] Name of the protocol to start when kind is CHANGE.*/
typedef struct operation{
		int kind;
		int p1;
		char text[256];
		bool resetEngine;
} operation;